package IC.Types;

public abstract class Type {
	public Type(String name){
		this.name = name;
		this.typeID = ++TypeTable.idCounter;
	}
	
	public String getName(){
		return this.name;
	}
	
	public int getTypeID(){
		return this.typeID;
	}
	
	public abstract boolean subtypeOf(Type t);
	
	public String toString(){
		return this.name;
	}
	
	protected String name;
	private int typeID;
	
}
